* regressions_formal_ebite_industry.do	JEP	04/05/15
* Does regressions that are in the term paper, for formal workers: RIF4
* Monthly wages
* Exclude some industries
* Do regressions by city - industry
* Cluster by city

*************************** Change log ********************************** 

/*
	
*/	

clear 
version 13.1
/*
* Project info
cap project, doinfo
if _rc==198 {
	if c(os)=="Unix" loc master "/home/jperez/AA_Minimum_Wage" 
 else if c(username)=="J16339" loc master "B:\Col_Minimum_Wage"
	else loc master "C:/Users/jorpp/Dropbox (Brown)/Col_Minimum_Wage"
 loc pr = 0
}
else {
	local master "`r(pdir)'"
	local doname "`r(dofile)'"  
 loc pr = 1
	* Project calls
	project, uses("`master'/Data/Source/ocupados_mw.dta")
	* Call programs
	project, relies_on("`master'/Code/Est/sample_choice.do")
	project, relies_on("`master'/Code/Est/build_mw_measures.do")
	project, relies_on("`master'/Code/Est/build_treatment.do")
	project, relies_on("`master'/Code/Est/export_rif.do")
	project, relies_on("`master'/Code/Est/confirmedrun.do")
	project, relies_on("`master'/Code/Est/graph_rif.do")
}
*/
loc master "\\bmstginveco\Salario_Minimo\Col_Minimum_Wage"
loc pr = 0

* Call necessary programs. I do not call using project to carry the programs around. I do not put these in the ado/personal folder because they are specific to the project. They are not ado files.
do "`master'/Code/Est/sample_choice.do"
do "`master'/Code/Est/build_mw_measures_robustness.do"
do "`master'/Code/Est/build_treatment.do"
do "`master'/Code/Est/export_rif.do"
do "`master'/Code/Est/confirmedrun.do"
do "`master'/Code/Est/graph_rif_bounds.do"


use "`master'/Data/Source/ocupados_mw.dta", clear

* Choose quantiles
glo qtiles "5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90"
* glo qtiles "90"
*glo qtiles "5 90"
* Number of bootstraps
glo boot=5
* RIF 4 - Tables numbered 4 in term paper


	* Choose sample
	mysample rif4sample , hmin(30) hmax(50) sex(0) edadm(65) wage(salario) formal exind(13,29,42)
	tab rif4sample
	tab tipo_trabajador if rif4sample
	tab year if rif4sample
	tab horas_semana if rif4sample 
	tab sex if rif4sample
	tab afiliado_salud if rif4sample
	
cap program drop mex
program define mex
	cap mkdir "`2'/Doc/ster_figures/rif4_new_ebite_indcc"
	cap mkdir "`2'/Doc/ster_figures/rif4_new_ebite_indcc/Rob"
	graph export "`2'/Doc/ster_figures/rif4_new_ebite_indcc/Rob/`1'_`3'.pdf", replace
	* project, creates("`master'/Doc/descriptive_figures/density/`1'.pdf")
end	
loc cont = 0
forvalues k = 0(0.025)0.15 {
	preserve
	loc lb = 0.8 + `k'
	loc bb = 1.2 - `k'
	loc cont = `cont' + 1
	loc tit = "`cont'"
	* Build mw measures
	mw_measures rif4sample , stub(rif4) lb(`lb') ub(`bb')
	* Build treatment
	mytreatment, posts("tq(1999q1)") mw(bite_e_rif4_ind) wage(salario_mensual_real) 

	* RIF regressions

	* Create estimation results folder if it doesn't already exist
	cap mkdir "`master'/Ster"
	cap mkdir "`master'/Ster/rif4_new_ebite_indcc"
	cap mkdir "`master'/Ster/rif4_new_ebite_indcc/rob"

	* For these I'm going to assume the clusters are the city - industry pairs. This assumes that there is not correlation within city across industries, only within those pairs. Could also run with the standard clustering by city, but that would mean that I'm not really increasing the sample size by running within industry.

	* The number of clusters is  enough that I don't need the full CGM framework, can run just with cluster
	egen city_ind=group(ccode cactividad_empresa)
	loc rerun "rerun"
	foreach x in $qtiles {
		noisily di " Percentile `x'"
		loc fw: word 1 of $qtiles
		loc count: word count $qtiles
		di `count'
		loc lw: word `count' of $qtiles
		if `x'==`lw' & `pr'!=0 loc reg="register"
		else loc reg ""
		if `x'==`fw' loc r="replace"
		else loc r="append"
		* Panel A. Employment
		*confirmedrun, `reg' controls() name(`master'/Ster/rif4_new_ebite_indcc/reg_emp_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4A) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode) `rerun'
		* cgmrif2 lw treat i.ccode i.time emp if rif4sample , hyp(0) boot($boot) cluster(ccode) x(treat) i(ccode) t(time) q(`x') rif(rif4A`x')
		* exportrif, name(`master'/Ster/rif4_new/reg_emp_tq(1999q1)_ebite_salario_mensual_real_50_edom) p(`x') r(`r')
		* Panel B. Employment and Bartik Price Variable
		confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/rif4_new_ebite_indcc/rob/reg_emp_bp_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4B) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode) rster 
		* Panel C. Employment and Bartik Quantity Variable
		*confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_emp_bq_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4C) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode)   `rerun'
		* Panel D. Employment and City Trends
		*confirmedrun, `reg' controls(i.ccode#c.trend) name(`master'/Ster/rif4_new_ebite_indcc/reg_sst_emp_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4D) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode)  `rerun'
		* Panel E. Employment, Bartik Price Variable and City Trends
		*confirmedrun, `reg' controls(i.ccode#c.trend bartikp1_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_sst_emp_bp_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4E) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode)  `rerun' 
		* Panel F. Employment, Bartik Quantity Variable and City Trends
		*confirmedrun, `reg' controls(i.ccode#c.trend bartikq_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_sst_emp_bq_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4F) p(`x') r(`r') sample(rif4sample) fe(i.ccode#i.cactividad_empresa i.time) cluster(ccode)   `rerun'
		* Panel G. Employment, Bartik Price Variable - Industry fe, city fe and interactions
		*confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_emp_bp_ixc_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4G) p(`x') r(`r') sample(rif4sample) fe(i.ccode##i.cactividad_empresa i.time) cluster(ccode)  `rerun'
		* Panel H. Employment, Bartik Quantity Variable and City - Industry fe, city fe and interactions
		*confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_emp_bq_ixc_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4H) p(`x') r(`r') sample(rif4sample) fe(i.ccode##i.cactividad_empresa i.time) cluster(ccode)  `rerun'
		* Panel I - Employment, Bartik Price Variable - Industry fe, city fe and interactions - City Industry trends
		*confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_ct_emp_bp_ixc_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4I) p(`x') r(`r') sample(rif4sample) fe(i.ccode##i.cactividad_empresa i.ccode#i.cactividad_empresa#c.trend i.time) cluster(ccode) `rerun'	 
		* Panel J. Employment, Bartik Quantity Variable and City - Industry fe, city fe and interactions
		*confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/rif4_new_ebite_indcc/reg_ct_emp_bq_ixc_tq(1999q1)_ebite_salario_mensual_real_50_edom_indcc_`tit') rif(rif4J) p(`x') r(`r') sample(rif4sample) fe(i.ccode##i.cactividad_empresa i.ccode#i.cactividad_empresa#c.trend i.time) cluster(ccode)  `rerun'
		
	}

	* Graph results and export
	noisily di "loop out"

	clear

	foreach spec in reg_emp_bp	{
		graph drop _all
		loc master "\\bmstginveco\Salario_Minimo\Col_Minimum_Wage"
		noisily di "graphin"
		graphrif, master("`master'") ster(Ster) folder(rif4_new_ebite_indcc/rob) qtiles($qtiles) spec(`spec') time(tq(1999q1)) bounds(`tit') rareaopts(bcolor(gs13)) twowayopts(title("Formal sector - ebite - By city industry" "`spec' - 1999q1" "`lb' - `bb'" ) xtitle(Percentile) ytitle(Coef) yscale(range(-0.0075 0.0075)) ylabel(-0.0075(0.0025)0.0075) yline(0) caption(Bootstrapped s.e. clustered by city) ) bite(ebite)  
		mex `spec' `master' `tit'
	}
	restore
}

